1. Field
The following description relates to management of a memory, and more particularly, to technology related to dynamically allocating and mapping pages in a non-volatile memory.
2. Description of the Related Art
Recent development of conventional computer systems includes a two-level storage structure having a volatile memory such as a Random Access Memory (RAM) to store short-term data (for example, Stacks and Heaps), and a non-volatile memory such as a Hard Disk Drive (HDD) to store long-term data (for example, data pages). Accordingly, various operating systems (OS) have been optimized to be compatible with such a two-level storage structure.
However, in an OS optimized to be compatible with the two-level storage system, memory fragmentation within the storage system can occur. That is, pages used by application programs may become scattered in the storage system where use of the computer system is prolonged.
Also, an OS optimized to be compatible with a two-level storage computer system utilizes a demand-paging policy, and accordingly page faults frequently occur.
In order to load pages through demand-paging, context switching is needed. Page faults may occur sometimes where pages are loaded from a non-volatile memory to a volatile memory. Accordingly, the conventional two-level storage system may suffer from performance deterioration due to such memory fragmentation and page faults.
Recently, studies regarding non-volatile memories, such as Non-Volatile RAMs (NVRAM) including PRAMs, MRAMs, FeRAMs, and the like, have been actively undertaken in the related technical fields. Non-volatile memories such as NVRAMs are believed to have certain benefits including being accessed in units of bytes and achieving simple deletion calculations and low power consumption.